import numpy as np
from matplotlib import pyplot as plt
from sklearn.metrics import roc_auc_score

# x数组为训练次数 accuracy数组为准确率
def print_accuracy(x, accuracy):
    plt.scatter(x, accuracy, s=100)  # 绘制散点图
    plt.title("准确率比较", fontsize=24)
    plt.xlabel("训练次数", fontsize=14)
    plt.ylabel("准确率", fontsize=14)
    plt.show()


# x数组为训练次数 recall数组为召回率
def print_recall(x, recall):
    plt.scatter(x, recall, s=100)  # 绘制散点图
    plt.title("召回率比较", fontsize=24)
    plt.xlabel("训练次数", fontsize=14)
    plt.ylabel("召回率", fontsize=14)
    plt.show()


# fpr数组为假阳性率 tpr数组为真阳性率
def print_roc(fpr, tpr):
    plt.scatter(fpr, tpr)
    plt.title("ROC曲线", fontsize=24)
    plt.xlabel("假阳性率", fontsize=14)
    plt.ylabel("真阳性率", fontsize=14)
    plt.show()


# x数组为训练次数 fprs数组为假阳性率数组 tprs数组为真阳性率数组
def print_auc(x, fprs, tprs):
    len = fprs.nadim
    array = np.zeros(len)
    for i in range(len):
        array[i] = roc_auc_score(fprs[i], tprs[i])
    plt.scatter(x,array)
    plt.title("AUC比较", fontsize=24)
    plt.xlabel("训练次数", fontsize=14)
    plt.ylabel("AUC", fontsize=14)
    plt.show()